package com.xiaoq.sites.repository;

import com.xiaoq.sites.entity.SitesEntity;
import com.xiaoq.vo.PagingVo;

import java.util.List;

public interface ISitesRepository {
	
	/**
	 * 按景区名称查询景区
	 * @param name
	 * @return
	 */
	public List<SitesEntity> findByName(String name);
	
	public SitesEntity findById(String id);
	
	public boolean addSites(SitesEntity sitesEntity);
	
	/**
	 * 更新景点
	 * @param sitesEntity
	 * @return
	 */
	public boolean updateSites(SitesEntity sitesEntity);
	
	/**
	 * 讲一个景区删除标志设置为1
	 * @param sitesId
	 * @return
	 */
	public boolean delSites(String sitesId);
	
	/**
	 *  根据zoneCity 查询景区列表
	 * @param zoneCity
	 * @return
	 */
	public List<SitesEntity> findSitesList(String zoneCity,String zoneDistrict);

	public boolean updateSitesPayMethod(String sitesId,List<Integer> payMethodList);
	
	/**
	 * 跟新景区认证Id
	 * @param merchantId
	 * @param authenStatus
	 * @return
	 */
	public boolean updateSitesAuthenStatus(String merchantId,String authenStatus);
	
	/**
	 * 修改景区的认证状态
	 * @param sitesId
	 * @param authenStatus
	 * @return
	 */
	public boolean updateAuthenStatus(String sitesId,String authenStatus);

	/**
	 * 查询景区的数量
	 * @param zoneCity 城市编码（市级）
	 * @param sitesStatus 景区状态 见（ConstantUtil）
	 * @return
	 */
	long count(String zoneCity,String zoneDistrict, String sitesStatus);

	List<SitesEntity> getAllSites();

	/**
	 * 根据经纬度查询附近多少米范围内的景区
	 * @param latitude 经度
	 * @param longitude 纬度
	 * @param nearM 附近多少米
	 * @param pagingVo
	 * @return
	 */
	List<SitesEntity> getSitesByPoint(double latitude, double longitude, long nearM, PagingVo pagingVo);
	
	
	public SitesEntity findSitesByMerchantId(String merchantId);
}
